package com.wego.service;

import com.wego.bean.PageBean;
import com.wego.domain.dto.UserLikeRelationDTO;
import com.wego.domain.entity.UserLikeRelation;
import com.wego.domain.query.UserLikeRelationQuery;

public interface UserLikeRelationService {

    /**
     * 分页获取用户点赞列表
     * @param userLikeRelationQuery 查询参数
     * @return 用户点赞分页数据
     */
    PageBean<UserLikeRelation> getPage(UserLikeRelationQuery userLikeRelationQuery);

    /**
     * 根据ID获取用户点赞信息
     * @param id 用户点赞ID
     * @return 用户点赞信息
     */
    UserLikeRelation getById(Integer id);

    /**
     * 更新用户点赞信息
     * @param userLikeRelation 用户点赞信息对象
     * @return 更新成功的记录数
     */
    int insert(UserLikeRelation userLikeRelation);

    /**
     * 根据ID删除用户点赞
     * @param id 用户点赞ID
     * @return 删除成功的记录数
     */
    int deleteById(Integer id);
    /**
     * 判断点赞功能
     * @param userLikeRelationDTO 点赞
     * @return 是否点赞成功
     */
    boolean isLike(UserLikeRelationDTO userLikeRelationDTO);
    /**
     * 点赞功能
     * @param userLikeRelationDTO 点赞
     * @return 是否点赞成功
     */
    boolean like(UserLikeRelationDTO userLikeRelationDTO);

    /**
     * 取消点赞功能
     * @param userLikeRelationDTO 取消点赞
     * @return 是否取消点赞成功
     */
    boolean unlike(UserLikeRelationDTO userLikeRelationDTO);

    Integer Update(UserLikeRelation userLikeRelation);


}